(_) Project Sugar Cake - Palworld Sex and Stats Framework (_)

Created and Maintained by : Michael "Spirit Shard" Stanich

Discord - The Broken Chatbox - https://discord.gg/h3vB7S4FEw
Website - https://www.michaelpstanich.com/
v (Donations! =^-^=) v
SubscribeStar - https://subscribestar.adult/michaelpstanich

(_) What is Sugar Cake? (SCake for short) (_)
Project Sugar Cake is a sex animation and gameplay stats framework for Palworld focused on providing the baseline for adult content in Palworld. SCake allows animators to import their animations into Palworld, then animators and users can use those invididual animations to create Animation Events (effectively entire scenes) for customized playback of complex animations. (More on this below)

(_) Known Critical Issues (_)
- Triggering animations in some cases can break animations or triggers, causing game errors. Only trigger animations while the player isn't mounted or in another interaction, and not in direct combat! Validation methods to prevent these errors are in the works for future versions of SCake.

(_) Features List (_)

 <> Custom Animation Player
 - - > A fully custom Animation Player built with erotic animations in mind. The system allows animators and scene creators to define stages with automatic climax and post climax support.

 <> Custom JSON importer for Animations
 - - > Project Sugar Cake features a fully customizable and dynamic way to import animations through JSON files which both animators and users can fully customize in any plain text editor! Create either simple Animation Events with easy to understand data, or go full scene master with advanced settings and crazy potential!

 <> Custom UI for controlling Animations and Settings
 - - > Simplified set-up and control through a custom UI and input handler built specifically for SCake and SCake Modules! Using the defined keys, this UI is easy and simple to navigate for customizing your SCake experience! During animations this UI is also used for adjusting positioning, moving the camera (in player involved animations), and editing the animations on-the-fly!

 <> Pal Stat Tracking
 - - > Tracking for custom stats that can be used either by animations or through external mods using the SCake SDK called modules! SCake handles the rising/lowering and tracking without requiring any input from the user!

 <> Oh, did I mention this is a Framework? We have an API and SDK!
 - - > Provided along-side SCake is the SCake API as well as documentation on the various functions you can call within SCake. This allows you to create modules for SCake through Blueprints with all the powers UE5 provides! (Requires the Palworld Modding Kit for all functions to work properly)

(_) Inputs (_)
SCake has a custom input handler to avoid issues with the game's own input system. SCake defines it's keys as "Up / Down / Left / Right / Menu / Select".

Default Keys and their functions (Use the "Menu" Input to open )
	I : Up
		- In Menus : Moves Up
	K : Down
		- In Menus : Moves Down
	J : Left
		- In Menus : Selects Left
	L : Right
		- In Gameplay : Start solo player animation
		- In Menus : Selects Right
	U : Menu
		- In Gameplay/Menu : Toggles the menu
	O : Select
		- In Gameplay : Opens animation control for the targeted characters
		- In Menus : Selects Center

Camera Controls (While in player involved animations only)
	W : Move Camera Inward
	S : Move Camera Outward
	A : Move Camera Left
	D : Move Camera Right
	Q : Move Camera Up
	E : Move Camera Down

Debug Inputs (While in Gameplay and 'Allow Debug Inputs' is enabled in settings)
	I : Up : End any animation the target is involved in
	K : Down : Start animation between player and the target
	J : Left : Select 2 targets to start an animation for

(_) How to install the SCake framework (_)
- Unzip the archive and place the .pak in "Pal/Content/Paks/LogicMods"
- If this is your first time installing SCake for this game installation, also copy over the AnimJSON folder into "Pal/Content/Paks/~mods" to put the _LoadList.json in the right place (this is where you'll install .json files for registering animations and _LoadList.json is where you'll put the file names so SCake can recognize and install them)
- Install the proper version of UE4SS (Latest version with updated Palworld) - https://github.com/UE4SS-RE/RE-UE4SS
[Optional, sort of]
- Must install animation packs (Detailed below)

(_) How to install animation packs (_)
There are 2 methods for animators/modders to add animations for SCake, through LogicMods via Blueprints, or through .json files where the .pak is usually installed in ~mods. If the animation pack comes with a .json file you can assume it's that method, if not it may be a LogicMods install. (They should say what kind it is when distributing the animation pack)

I STRONGLY recommend the .json method (BP/LogicMods method may not always be compatible across versions and may lose support in the future)

~ For .json installs ~
- Follow their provided instructions if they say where to install the .pak file, otherwise place this is in "Pal/Content/Paks/~mods"
- Place the provided .json file in "Pal/Content/Paks/~mods/AnimJSON/" and add the file name to the "_LoadList.json" found in the same folder (AnimJSON)
- Now it should load in-game the next time .json animations are registered! (like when SCake first starts up on game load)

~ For BP installs ~
- Place the .pak file in "Pal/Content/Paks/LogicMods"
- Now it should load in-game! (if they set it up correctly)

(_) How to add and create animation packs (_)
For a full guide you can read it over on my website at https://www.michaelpstanich.com/article/SCake_HowToMakeAnimsGuide.html or follow the links on our Discord!
To add more animations you just need to (correctly) import the animations into UE5.1 with the correct file path (Content/Mods/YourModName), convert the animation into an animation montage (right click the animation sequence and it will show up in that list), ensure you do what ever edits are required for your montage/animation to look and function correctly (Remember for looping animations to open your montage, go to the "montage sections" tab, and tickmark where it should loop! If you have no sections, just click the 'default' checkbox and it will loop the full animation.).
Once you have the animation montage you can export the .pak file and place it in ~mods, note the file-paths you had in UE5.1 as we'll need these to register the animation properly.
Open the appropriate templates provided in the AnimJSON folder from SCake and enter in the correct metadata for your animation, delete any sections/data you're not using for your animation. (Note: You can check the "Sugar Cake - Metadata.txt" provided with SCake for a description of the parameters, the "_SCake_TemplateWithExplainations.json" has sections explaining each parameter and may be a good place to start reading while using the "_SCake_BlankTemplate.json" or "_SCake_SimpleTemplate.json" to create your .json file)
Once you have your .json file complete, rename it to match your pack name and include it with your .pak when distributing your animation pack! I recommend testing the pack before distribution, so install it like any other pack by placing the .json file to the AnimJSON folder and adding the file name to the "_loadlist.json" file, then load up in-game and trigger the animations.

(_) Want to implement more animations? Feel free to contact me or interact with our Discord! We're a community thriving on creativity and would be really glad to help! (_)